package jssia.database.mysql.databases.information_schema;

import jssia.database.ColumnInfo;
import jssia.database.TableInfo;
import jssia.database.mysql.columns.BigIntColumn;
import jssia.database.mysql.columns.VarCharColumn;

@TableInfo ()
public class Statistics {

    private Statistics() {
    }

    public final static String TO_STRING = "information_schema.statistics";

    public final static VarCharColumn TABLE_CATALOG = new VarCharColumn(512);

    @ColumnInfo(nullable = false)
    public final static VarCharColumn TABLE_SCHEMA = new VarCharColumn(64);

    @ColumnInfo(nullable = false)
    public final static VarCharColumn TABLE_NAME = new VarCharColumn(64);

    @ColumnInfo(nullable = false)
    public final static BigIntColumn NON_UNIQUE = new BigIntColumn();

    @ColumnInfo(nullable = false)
    public final static VarCharColumn INDEX_SCHEMA = new VarCharColumn(64);

    @ColumnInfo(nullable = false)
    public final static VarCharColumn INDEX_NAME = new VarCharColumn(64);

    @ColumnInfo(nullable = false)
    public final static BigIntColumn SEQ_IN_INDEX = new BigIntColumn();

    @ColumnInfo(nullable = false)
    public final static VarCharColumn COLUMN_NAME = new VarCharColumn(64);

    public final static VarCharColumn COLLATION = new VarCharColumn(1);

    public final static BigIntColumn CARDINALITY = new BigIntColumn();

    public final static BigIntColumn SUB_PART = new BigIntColumn();

    public final static VarCharColumn PACKED = new VarCharColumn(10);

    @ColumnInfo(nullable = false)
    public final static VarCharColumn NULLABLE = new VarCharColumn(3);

    @ColumnInfo(nullable = false)
    public final static VarCharColumn INDEX_TYPE = new VarCharColumn(16);

    public final static VarCharColumn COMMENT = new VarCharColumn(16);
}
